home *** CD-ROM | disk | FTP | other *** search
- /* #! sys:rexxc/rx **/
- /* $VER: multiform.cgi 1.0 (20.09.00) */
- /* CGI-Script für clarissahttpd */
- /* © Martin Kayser */
-
- verz='clarissa-httpd:web-nachrichten'
- basename='webnachricht'
-
- anzeigen='ja'
- vorlesen='Ja'
-
- /** Hauptprogramm **/
-
- say 'Content-type: text/html'
- say ''
-
- parse arg args
-
- args = translate(args,' ','+')
- args = translate(args,d2c(10),'&')
- args = hex2str(args)
-
- nummer=1
- do while exists(verz'/'basename'.'nummer)
- nummer=nummer+1
- end
-
- if open(n,verz'/'basename'.'nummer,'W') then do
- call writeln(n,args)
- call close(n)
- say '<html><head><title>Formulardaten wurden erfolgreich gespeichert!</title></head><body>'
- say "<h1><hr>Formulardaten wurden erfolgreich gespeichert!<hr></h1>"
- say 'Wahrscheinlich wird der Webmaster ihre Eingaben'
- say 'genau in diesem Moment lesen oder vorgelesen bekommen.'
- say
- say '</body></html>'
- if upper(anzeigen)='JA'|upper(anzeigen)='YES' then do
- address command 'copy 'verz'/'basename'.'nummer' CON:////Webnachricht/CLOSE/WAIT'
- end
- if upper(vorlesen)='JA'|upper(vorlesen)='YES' then do
- address command 'run <>Nil: c:say -x 'verz'/'basename'.'nummer
- end
- end
- else do
- say '<html><head><title>Formularfehler</title></head><body>'
- say "<h1><hr>Die Inhalte des Formulars konnten nicht gespeichert werden! :-(<hr></h1>"
- say 'Das Verzeichnis in welchem die Daten gespeichert werden sollten existiert nicht.<BR>'
- say 'Bitte informieren sie den Webmaster, daß er einen Fehler in der Konfiguration'
- say 'des CGI-Scriptes hat. Danke!'
- say '</body></html>'
- end
- exit
-
- /**** Prozeduren ****/
-
- replace: procedure
- parse arg a,b,c
- d = index(a,b)
- do while d ~= 0
- a = insert(c,delstr(a,d,length(b)),d-1)
- d = index(a,b)
- end
- return a
-
- hex2str: procedure
- parse arg a
- b = '%'
- d = index(a,b)
- do while d ~= 0
- a = insert(x2c(substr(a,d+1,2)),delstr(a,d,3),d-1)
- d = index(a,b)
- end
- return a
-